1. Technical Field
Embodiments of the present invention generally relate to work flow management (a/k/a business process management (BPM)) products, and particularly relate to an abstraction layer that allows one or more BPM's to interface with one or more applications with the addition of abstraction-layer features.
2. Description of Related Art
There are many workflow/BPM (Business Process Management) products available including those that are commercially available and those developed in-house. Many of these products are developed using different workflow engines as a component of the BPM. The big challenge is that different application implementation is required for different workflow engine products. Those product implementations cannot co-exist in a homogeneous deployment environment easily and therefore produce problems in system integration, product upgrade and migration. There are some open standards in workflow area; however, those standards only address the definition part of the flow process. Existing workflow standards do not have a unified interface to define all workflow functionalities. Moreover, there are many areas that standards leave to vendor implementation purposely, such as work assignment and dispatch, administrative flow management, runtime flow status display, etc.
Organizations make use of many workflow products in various systems and application products may have their own workflow providers and need to integrate external ones as well. On user interface side, an application desirably exposes the client to a consistent look and feel for business process management functionalities. On the flow implementation side, an application tries to avoid workflow-vendor-specific implementation to promote code reuse and flexibility. On the development and testing side, an application wants to have a set of tools to help and automate daily implementation, debugging and testing.